package ArrayList;

import java.util.ArrayList;

/**
 * ArrayList.md：集合容器
 * 数组的长度不可以发生改变。
 * 但是ArrayList集合的长度是可以随意变化的。
 * <p>
 * 对于Arraylist来说，有一个尖括号<>代表：泛型
 * 泛型:也就是装在集合当中的所有元素，全都是统一的什么类型
 * 注意:泛型只能是引用类型，不能是基本类型。
 * <p>
 * 注意事项:
 * 对于ArrayList集合来说，直接打印得到的不是地址值，而是内容。
 * 如果内容是空，得到的是空的中括号:[]
 * ArrayList当中的常用方法有:
 * <p>
 * public boolean add(E e):向集合当中添加元素，参数的类型和泛型一致。
 * public E get(int index):从集合当中获取元素，参数是索引编号，返回值就是对应位置的元素。
 * public E remove(int index):从集合当中删除元素，参数是索引编号，返回值就是被删除掉的元素。
 * public int size():获取集合的尺寸长度，返回值是集合中包含的元素个数。
 */
public class ArrayListDemo1 {
    public static void main(String[] args) {
        // 创建了一个ArrayList集合，集合的名称是list，里面装的全都是String字符串类型的数据
        // 从IDK 1.7+开始，右侧的尖括号内部可以不写内容，但是<>本身还是要写的。
        ArrayList<String> list = new ArrayList<>();
        System.out.println(list);

        list.add("A");
        System.out.println(list);
        list.add("B");
        list.add("C");
        list.add("D");
        System.out.println("list:" + list);

        // 获取元素:get
        String a = list.get(0);
        System.out.println("get:" + list.get(0));

        // 删除元素:remove
        String remove = list.remove(0);
        System.out.println("remove:" + list.remove(0));

        // 遍历集合
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }

    }
}
